verify3dSecure
HTTP method: POST
Use the verify3dSecure method to verify a result from a 3dSecure redirect from the initiatePayment method. For more information, see initiatePayment.

Test URL | https://testgateway.altapaysecure.com/processor/API/<method> |
Production URL | https://<YourShopName>.altapaysecure.com/processor/API/<method> |

Required parameters for 3D Secure v2 (3DSecureV2)
Parameter | Description | Type |
---|---|---|
transactionId | The id returned from the initiatePayment call | string |
3DSecureV2[3ds_data] | Known parameter being sent from the authentication | string |
3DSecureV2[*] | Additional parameters that might be sent through the flow. * should be replaced with the parameter name given | string |
Required parameters for 3D Secure (3D Secure) (deprecated)
Parameter | Description | Type |
---|---|---|
transactionId | The id returned from the initiatePayment call | string |
3DSecureRegular[paRes] | The response received from the issuer bank | string |
3DSecureRegular[MD] | The response received from the issuer bank | string |
Required parameters for 3D Secure (Dankort 3D Secure by Nets) (deprecated)
Parameter | Description | Type |
---|---|---|
transactionId | The id returned from the initiatePayment call | string |
3DSecureNets[PostingID] | The ACS generated unique transaction identifier | string{26} |

The table shows the most pertinent response values for the method. For a complete list of API response parameters, see API Response structure (XML).
Parameter | Description |
---|---|
Result |
The result of the request, for example:
|
RedirectResponse | For cards enrolled with 3D Secure v2, the redirect response contains a URL you must redirect your customer to, and also includes a set of POST parameters you need to include in the redirect call. |
Transactions | Contains a set of Transaction elements, each describing the relevant transactions. For more information, see Transaction. |
|
The result has been deprecated, please see Authentication instead The result of a 3D Secure verification using the verify3dSecure method.
|
|
The result of a 3D Secure verification using the verify3dSecure method.
|

Minimal Request
curl --request POST \ --url https://<YourShopName>.altapaysecure.com/processor/API/verify3dSecure \ --header 'Authorization: Basic auth' \ --data transactionId=62345 \ --data 3DSecureRegular[paRes]=VGhpcyBptyBhwiBleQFtcCxlIFBhUmVx \ --data 3DSecureRegular[MD]=af3703e5-09ad-4bbe-b130-976e39280f7a \
XML response for a successful verification
<?xml version="1.0"?> <APIResponse version="20170228"> <Header> <Date>2025-01-23T16:49:34+00:00</Date> <Path>API/verify3dSecure</Path> <ErrorCode>0</ErrorCode> <ErrorMessage/> </Header> <Body> <Result>Success</Result> <Transactions> <Transaction> <TransactionId>30</TransactionId> <PaymentId>fd3f2df3-e0ca-4c59-baf9-300051017116</PaymentId> <AuthType>payment</AuthType> <CardStatus>InvalidLuhn</CardStatus> <CreditCardExpiry> <Year>2025</Year> <Month>12</Month> </CreditCardExpiry> <CreditCardToken>gdZnqBKE+nlrHJty4kYThaXqmKH2hNvkLTxPTX4o+Q0f5wIU08jtfSTBaOLissrtzVe1WmxGRy/8+wE0bbsXNQ==+1</CreditCardToken> <CreditCardMaskedPan>457100******0021</CreditCardMaskedPan> <IsTokenized>false</IsTokenized> <CardInformation> <IsTokenized>false</IsTokenized> <Token>gdZnqBKE+nlrHJty4kYThaXqmKH2hNvkLTxPTX4o+Q0f5wIU08jtfSTBaOLissrtzVe1WmxGRy/8+wE0bbsXNQ==+1</Token> <MaskedPan>457100******0021</MaskedPan> <Expiry> <Year>2025</Year> <Month>12</Month> </Expiry> <IssuingCountry>DK</IssuingCountry> <LastFourDigits>0021</LastFourDigits> <Scheme>VISA</Scheme> </CardInformation> <ThreeDSecureResult>Successful</ThreeDSecureResult> <LiableForChargeback>Issuer</LiableForChargeback> <CVVCheckResult>Not_Attempted</CVVCheckResult> <BlacklistToken>857e13973ddf6e9a51932a3dc1743f2025eadf6a</BlacklistToken> <ShopOrderId>asdjkh123</ShopOrderId> <Shop>AltaPay Functional Test Shop</Shop> <Terminal>AltaPay Test 3DSecure2 Terminal</Terminal> <TransactionStatus>preauth</TransactionStatus> <ReasonCode>NONE</ReasonCode> <MerchantCurrency>978</MerchantCurrency> <MerchantCurrencyAlpha>EUR</MerchantCurrencyAlpha> <CardHolderCurrency>978</CardHolderCurrency> <CardHolderCurrencyAlpha>EUR</CardHolderCurrencyAlpha> <ReservedAmount>10.00</ReservedAmount> <CapturedAmount>0.00</CapturedAmount> <RefundedAmount>0.00</RefundedAmount> <CreditedAmount>0.00</CreditedAmount> <RecurringDefaultAmount>0.00</RecurringDefaultAmount> <SurchargeAmount>0.00</SurchargeAmount> <CreatedDate>2025-01-23 16:48:51</CreatedDate> <UpdatedDate>2025-01-23 16:49:33</UpdatedDate> <PaymentNature>CreditCard</PaymentNature> <PaymentSource>eCommerce</PaymentSource> <PaymentSchemeName>VISA</PaymentSchemeName> <PaymentNatureService name="SoapTestAcquirer"> <SupportsRefunds>true</SupportsRefunds> <SupportsRelease>true</SupportsRelease> <SupportsMultipleCaptures>true</SupportsMultipleCaptures> <SupportsMultipleRefunds>true</SupportsMultipleRefunds> </PaymentNatureService> <ChargebackEvents/> <PaymentInfos/> <CustomerInfo> <UserAgent>PHP/8.2.24</UserAgent> <IpAddress>192.168.1.1</IpAddress> <Email/> <Username/> <CustomerPhone/> <OrganisationNumber/> <CountryOfOrigin> <Country>DK</Country> <Source>CardNumber</Source> </CountryOfOrigin> </CustomerInfo> <ReconciliationIdentifiers/> <Authentication> <Flow>CHALLENGE</Flow> <Liability>ISSUER</Liability> <Result>ACCEPTED</Result> <Version>2.1.0</Version> <Type>3DSECURE</Type> </Authentication> </Transaction> </Transactions> </Body> </APIResponse>
XML response for a verification requiring a redirect (3DSecure V2)
<?xml version="1.0"?> <APIResponse version="20170228"> <Header> <Date>2025-01-23T16:48:52+00:00</Date> <Path>API/verify3dSecure</Path> <ErrorCode>0</ErrorCode> <ErrorMessage/> </Header> <Body> <Result>3dSecure</Result> <RedirectResponse> <Url>https://a00ed3580fdc.ngrok.app/eCommerce/API/emvcoThreeDSecure/authenticate/fd3f2df3-e0ca-4c59-baf9-300051017116</Url> <Method>POST</Method> <Data/> <FlowType>3DSecureV2</FlowType> </RedirectResponse> <Transactions> <Transaction> <TransactionId>30</TransactionId> <PaymentId>fd3f2df3-e0ca-4c59-baf9-300051017116</PaymentId> <AuthType>payment</AuthType> <CardStatus>InvalidLuhn</CardStatus> <CreditCardExpiry> <Year>2025</Year> <Month>12</Month> </CreditCardExpiry> <CreditCardToken>gdZnqBKE+nlrHJty4kYThaXqmKH2hNvkLTxPTX4o+Q0f5wIU08jtfSTBaOLissrtzVe1WmxGRy/8+wE0bbsXNQ==+1</CreditCardToken> <CreditCardMaskedPan>457100******0021</CreditCardMaskedPan> <IsTokenized>false</IsTokenized> <CardInformation> <IsTokenized>false</IsTokenized> <Token>gdZnqBKE+nlrHJty4kYThaXqmKH2hNvkLTxPTX4o+Q0f5wIU08jtfSTBaOLissrtzVe1WmxGRy/8+wE0bbsXNQ==+1</Token> <MaskedPan>457100******0021</MaskedPan> <Expiry> <Year>2025</Year> <Month>12</Month> </Expiry> <IssuingCountry>DK</IssuingCountry> <LastFourDigits>0021</LastFourDigits> <Scheme>VISA</Scheme> </CardInformation> <ThreeDSecureResult>Not_Applicable</ThreeDSecureResult> <LiableForChargeback>Merchant</LiableForChargeback> <CVVCheckResult>Not_Applicable</CVVCheckResult> <BlacklistToken>857e13973ddf6e9a51932a3dc1743f2025eadf6a</BlacklistToken> <ShopOrderId>asdjkh123</ShopOrderId> <Shop>AltaPay Functional Test Shop</Shop> <Terminal>AltaPay Test 3DSecure2 Terminal</Terminal> <TransactionStatus>threeds2_reservation_challenge_started</TransactionStatus> <ReasonCode>NONE</ReasonCode> <MerchantCurrency>978</MerchantCurrency> <MerchantCurrencyAlpha>EUR</MerchantCurrencyAlpha> <CardHolderCurrency>978</CardHolderCurrency> <CardHolderCurrencyAlpha>EUR</CardHolderCurrencyAlpha> <ReservedAmount>0.00</ReservedAmount> <CapturedAmount>0.00</CapturedAmount> <RefundedAmount>0.00</RefundedAmount> <CreditedAmount>0.00</CreditedAmount> <RecurringDefaultAmount>0.00</RecurringDefaultAmount> <SurchargeAmount>0.00</SurchargeAmount> <CreatedDate>2025-01-23 16:48:51</CreatedDate> <UpdatedDate>2025-01-23 16:48:52</UpdatedDate> <PaymentNature>CreditCard</PaymentNature> <PaymentSource>eCommerce</PaymentSource> <PaymentSchemeName>VISA</PaymentSchemeName> <PaymentNatureService name="SoapTestAcquirer"> <SupportsRefunds>true</SupportsRefunds> <SupportsRelease>true</SupportsRelease> <SupportsMultipleCaptures>true</SupportsMultipleCaptures> <SupportsMultipleRefunds>true</SupportsMultipleRefunds> </PaymentNatureService> <ChargebackEvents/> <PaymentInfos/> <CustomerInfo> <UserAgent>PHP/8.2.24</UserAgent> <IpAddress>192.168.1.1</IpAddress> <Email/> <Username/> <CustomerPhone/> <OrganisationNumber/> <CountryOfOrigin> <Country>DK</Country> <Source>CardNumber</Source> </CountryOfOrigin> </CustomerInfo> <ReconciliationIdentifiers/> <Authentication> <Flow>CHALLENGE</Flow> <Liability>MERCHANT</Liability> <Result>UNKNOWN</Result> <Version>unknown</Version> <Type>3DSECURE</Type> </Authentication> </Transaction> </Transactions> </Body> </APIResponse>